// 加法实现一个无限累加的函数，怎么最后求值
function add(a) {
  function sum(b) {
    a = b ? a + b : a
    return sum
  }
  sum.toString = function () {
    return a
  }
  return sum
}
// 柯里化 与es6数组的reduce有点类似
// 1.reduce 收集参数 闭包
// 2.收集到的参数什么时候终止return掉
console.log(add(1)(2)(3).toString());
console.log(String(add(1)(2)(3)));